<?php
/*
 * FileName appFunction.php
 * Date		2012-7-25
 * Author	jime
 * Mail 	me@joyphper.net
 * QQ		97142822
 * Copyright (C) 2012 joyphper.net
 */
if (! defined ( 'App_PATH' ))exit ( 'request error' );

/**获取配置参数
 * @param arg 如想获取 请求参数为：C("sys_dir.ctrl") 如想获取单个模式参数C("Debug")
 **/
function C($arg)
{
	$args=explode(".",$arg);
	$conf="";
	foreach($args as $k=>$v)
	{
		if($k>0)
			$conf=$conf[$v];
		else
			$conf=appConfig::getConfig($v);
	}
	return $conf;
}

/**
 * 导入运行的PHP文件
 * @param string $fileName 文件名
 */
function import($fileName){
	if( TRUE == @is_readable($fileName) ){
		require_once(App_PATH."/".$fileName); // 载入文件,用require_once防止多次载入
		return TRUE;
	}else{
		appError("应用程序没有权限访问文件:".App_PATH."/".$fileName);
	}
}
/**
 * 系统提错提示
 * @param $msg $msg
 */
function appError($msg){
	exit($msg);
}
/**
 * dump  格式化输出变量程序
 *
 * @param vars    变量
 * @param output    是否将内容输出
 * @param show_trace    是否将使用spError对变量进行追踪输出
 */
function dump($vars, $output = TRUE, $showTrace = FALSE){
	if(C('Debug'))return ;
	if( TRUE == $showTrace ){ // 显示变量运行路径
		$content = spError(htmlspecialchars(print_r($vars, true)), TRUE, FALSE);
	}else{
		$content = "<div align=left><pre>\n" . htmlspecialchars(print_r($vars, true)) . "\n</pre></div>\n";
	}
    if(TRUE != $output) { return $content; } // 直接返回，不输出。
       echo "{$content}";
	   return;
	echo $output;
}
/**
 * 获取用户访问的IP
 */
function getIP()
{
	if (! empty ( $_SERVER ["HTTP_CLIENT_IP"] ))
		$cip = $_SERVER ["HTTP_CLIENT_IP"];
	else if (! empty ( $_SERVER ["HTTP_X_FORWARDED_FOR"] ))
		$cip = $_SERVER ["HTTP_X_FORWARDED_FOR"];
	else if (! empty ( $_SERVER ["REMOTE_ADDR"] ))
		$cip = $_SERVER ["REMOTE_ADDR"];
	else
		$cip = 'unknown';

	return $cip;
}
/**
 * mkdirs
 *
 * 循环建立目录的辅助函数
 *
 * @param dir    目录路径
 * @param mode    文件权限
 */
function mkdirs($dir, $mode = 0777)
{
	if (!is_dir($dir)) {
		mkdirs(dirname($dir), $mode);
		return @mkdir($dir, $mode);
	}
	return true;
}
?>
